<?php

namespace App\Admin\Forms\pay;

use Dcat\Admin\Widgets\Form;

class WxPayForm extends Form
{
    public function handle(array $input)
    {
        
        $model = \App\Models\WxPayModel::query()->first();
        // dd( $model);
        if (!$model)
            \App\Models\WxPayModel::insert($input);
        else
            $model->where('id', $model->id)->update($input);

        return $this->response()->success(__('admin.update_succeeded'));
    }

    public function form()
    {
        $this->text('app_id', 'APP的app_id')->help('APP应用中支付时使用');
        $this->text('public_account_app_id', '公众号的app_id')->help('公众号中支付时使用');
        $this->text('public_account_app_secret', '公众号中支付时使用的app_secret')->help('公众号中支付时使用');
        $this->text('miniprogram_app_id', '小程序的app_id')->help('仅在小程序支付时使用');
        $this->text('mch_id', '微信支付商户号')->help('微信支付平台获取');
        $this->text('mch_api_v2_key', '微信支付商户API密钥V2')->help('API v2 密钥 (注意: 是v2密钥 是v2密钥 是v2密钥)');
        $this->text('mch_api_v3_key', '微信支付商户API密钥V3')->help('微信支付平台获取(系统未启用v3秘钥)');
        $this->radio('payment_mode', '支付模式')->options(['0'=>'正式环境', '1'=>'沙箱环境'])->help('微信支付沙箱环境，是提供给微信支付商户的开发者，用于模拟支付及回调通知');
        $this->text('callback_url', '回调通知地址')->help('微信支付回调通知接口(完整地址，外网能访问)');
        $this->file('api_certificate_path', '微信支付API证书cert')->help('如需使用敏感接口（如退款、发送红包等）需要配置 API 证书路径(登录商户平台下载 API 证书)');
        $this->file('api_certificate_key', '微信支付API证书key')->help('如需使用敏感接口（如退款、发送红包等）需要配置 API 证书路径(登录商户平台下载 API 证书)');
        $this->radio('log_enabled', '记录日志')->options(['0'=>'否', '1'=>'是'])->help('开启时会创建wx_pay_log.txt文件');
        
    }

    public function default(): array
    {
        return \App\Models\WxPayModel::config();
    }
}
